package com.smartscreen.baseinfomanage.service;

import com.smartscreen.baseinfomanage.dto.CreateClassRequest;
import com.smartscreen.baseinfomanage.dto.StudentInfoDTO;
import com.smartscreen.baseinfomanage.dto.UpdateClassRequest;
import com.smartscreen.baseinfomanage.entity.Grade;
import com.smartscreen.baseinfomanage.entity.SchoolClass;

import java.util.List;
import java.util.Map;

public interface GradeClassService {
    List<Grade> getAllGrades();
    List<SchoolClass> getClasses(String gradeId);
    SchoolClass createClass(CreateClassRequest request);
    SchoolClass getClassDetail(String classId);
    void updateClass(String classId, UpdateClassRequest request);
    Map<String, Map<String, Object>> getClassesBatchAsMap(List<String> classIds);
    
    /**
     * 批量获取学生信息
     */
    Map<String, Map<String, Object>> getStudentsBatchAsMap(List<String> studentIds);
    
    /**
     * 根据班级ID获取学生ID列表
     */
    List<String> getStudentIdsByClassId(String classId);
    
    /**
     * 根据学号列表获取学生信息
     */
    List<StudentInfoDTO> getStudentsByNumbers(List<String> studentNumbers);
}